The Internet has become a transportation medium for large varieties of data. Text documents, HTML files, and multimedia files are a few examples. Real-time communication can also be achieved over the Internet. Some forms of real-time communication include instant messaging (e.g. MSN Instant Messenger, AOL Instant Messenger, etc.), Voice-over-Internet Protocol (VoIP), and video conferencing.
One enabler of real-time communication is Skype. The Skype Group, acquired by eBay in September 2005, provides a free peer-to-peer Internet telephony network. Users who download the Skype program and register themselves into the Skype network select a unique user identifier (ID). This user ID allows other people in the Skype network to find and identify the person who has the ID. People can communicate through the Skype network by calling another person using their Skype ID and then communicating either in voice or video using their computer. Skype calls are routed through the Internet, and thus any two people anywhere in the world can communicate over Skype if both of them are Skype users. All that is needed for a person to use the Skype system is a computer with Internet access and a broadband connection to allow for real-time communication, the Skype program installed on the computer, a microphone, a speaker or headset, and a webcam (only needed for video communication). Skype also offers a SkypeOut service, which allows Skype users to call any phone in the world by paying either a per-minute fee or a flat monthly or yearly fee. Skype also offers a SkypeIn service which allows public switched telephone network (PSTN) or mobile phone callers to dial a regular number to reach a Skype client. It is undesirable for an organization (e.g. a company) that wants to receive telephone calls from Skype users to rely on the SkypeOut service because the caller, not the receiver, would pay for the call. This may also be true with users of other public packet-based call services. It is desirable for organizations to be able to receive web-based calls such as Skype.
The main difference between Skype and VoIP clients is that Skype operates on a peer-to-peer model, rather than the more traditional server-client model. The Skype user directory is entirely decentralized and distributed among the nodes in the network, which means the network can scale very easily to large sizes, currently over 171 million users, without a complex and costly centralized infrastructure. Skype also routes calls through other Skype peers on the network to ease the traversal of symmetric network address translations (NATs) and firewalls. This, however, puts an extra burden on those who connect to the Internet without NAT, as their computers and network bandwidth may be used to route the calls of other users. The Skype code is closed source, and the protocol is not standardized.
Forms of conventional circuit switched telephone communication have also advanced. Many large organizations have many employees who need to make use of a telephone to communicate with other employees or external persons. However, it is very expensive for the organization to purchase a single telephone line for every employee. Also, not every employee uses the phone all the time. One method of solving this problem is to use a private branch exchange, otherwise known as PBX. A PBX allows many telephone users to connect to a limited number of telephone lines. Each telephone in the telephone network within the organization is connected to the PBX system, which in turn is connected to a small number of telephone lines (e.g. 4 lines). Employees within the PBX system can call each other easily, since the PBX simply connects one telephone in the system to another. Whenever an employee makes a phone call to someone not in the PBX system (e.g. external to the organization), the call goes to the PBX, which in turn connects the call to one of the telephone lines. When another employee makes a phone call, the PBX routes the call to a telephone line that is not being used. If an employee calls out and all the telephone lines are in use, the PBX does not complete the call. In a similar manner, the PBX can also accept incoming calls through the telephone lines. The PBX will route the call to the appropriate person, for example using an extension.
Advances in the art have made it possible for a PBX system to work with VoIP instead of a conventional circuit switch system. This type of PBX system, sometimes called an IP PBX or IPBX, is digital instead of analog. Voice data is transmitted digitally from a person's phone and routed to the PBX system. The PBX converts the digital voice data back into analog form for transmission over the conventional public telephone network. Likewise, incoming analog calls are converted into digital voice data by the PBX and forwarded to a user in the PBX system. In addition, the development of mobile phones has allowed people to send and receive calls while not tied to a specific location, and call forwarding allows calls to a number within the PBX system to be forwarded to mobile phones. However, PBX and IP PBX systems lack the ability to integrate with public packet-based call services such as Skype. PBX and IP PBX cannot have one or more user IDs, such as a Skype ID, associated with them, and cannot handle an incoming packet-based call that is made to a user ID instead of a telephone number within the system.
One method of handling computer network traffic is to use a process called network address translation (NAT). Individual devices within a computer network all have an unique private IP address. However, the router that connects the devices to a larger network (e.g. the Internet) only has one public IP address that is visible from the outside. Communications, such as outgoing VoIP calls, that originate from within the computer network go to the router. The router replaces the private IP address from the call with the public address of the router, and forwards the call to the destination. When a reply comes from the destination, the router will determine which private IP address the reply should be sent to using information collected from the outgoing call. NATs can operate using more than one public IP address, but additional public IP addresses may cost money to obtain. Also, calls originating from outside the computer network cannot reach their destination because the router does not know which private IP address the call should be routed. Only calls that originate within the computer network can be completed.
Organizations may want to receive telephone calls from users of public packet-based call services such as Skype but do not want the users to bear the cost of phoning in (e.g. by using SkypeOut). It is desirable for a public packet-based call made to an organization to be transferred to a normal telephone number at the organization's site. What is needed in the art are methods and systems for receiving a public packet-based call and transferring the call to a telephone number within a telephone network.
Discussion or citation of a reference herein will not be construed as an admission that such reference is prior art to the present application.